Allocation of spreading codes for telecommunications channels

ABSTRACT

In a radio access network ( 10 ) comprising a radio network controller node ( 26 ) and a base station node ( 28 ), a code tree has spreading codes which are allocatable between high speed downlink shared (HS-DSCH) channels and dedicated (DCH) channels. According to one aspect of the technology, use of the spreading codes of the code tree is monitored and an HS-DSCH channel is allocated a free spreading code which is non-adjacent to a spreading code already allocated to the HS-DSCH channels. In some example implementations, the free, non-adjacent spreading code is allocated so that more than one high speed channel user can use the spreading codes. In other example implementations, the free, non-adjacent spreading code is allocated so that one user uses the spreading codes by using more than one HS-SCCH channel. Preferably the non-adjacent spreading code is released from the HS-DSCH channel when the non-adjacent spreading code is needed for use by a DCH channel.

BACKGROUND I. Technical Field

The present invention pertains generally to telecommunications, andparticularly to telecommunications scheduling based on code treeallocation.

II. Related Art and Other Considerations

In a typical cellular radio system, mobile terminals (also known asmobile stations and mobile user equipment units (UEs)) communicate via aradio access network (RAN) to one or more core networks. The userequipment units (UEs) can be mobile stations such as mobile telephones(“'cellular” telephones) and laptops with mobile termination, and thuscan be, for example, portable, pocket, hand-held, computer-included, orcar-mounted mobile devices which communicate voice and/or data withradio access network.

The radio access network (RAN) covers a geographical area which isdivided into cell areas, with each cell area being served by a basestation. A cell is a geographical area where radio coverage is providedby the radio base station equipment at a base station site. Each cell isidentified by a unique identity, which is broadcast in the cell. Thebase stations communicate over the air interface (e.g., radiofrequencies) with the user equipment units (UE) within range of the basestations. In the radio access network, several base stations aretypically connected (e.g., by landlines or microwave) to a radio networkcontroller (RNC). The radio network controller, also sometimes termed abase station controller (BSC), supervises and coordinates variousactivities of the plural base stations connected thereto. The radionetwork controllers are typically connected to one or more corenetworks.

The Universal Mobile Telecommunications System (UMTS) is a thirdgeneration mobile communication system, which evolved from the GlobalSystem for Mobile Communications (GSM), and is intended to provideimproved mobile communication services based on Wideband Code DivisionMultiple Access (WCDMA) access technology.

As wireless Internet services have become popular, various servicesrequire higher data rates and higher capacity. Although UMTS has beendesigned to support multi-media wireless services, the maximum data rateis not enough to satisfy the required quality of services.

In a forum known as the Third Generation Partnership Project (3GPP),telecommunications suppliers propose and agree upon standards for thirdgeneration networks and UTRAN specifically, and investigate enhanceddata rate and radio capacity. One result of the forum's work is the HighSpeed Downlink Packet Access (HSDPA) for the downlink, which wasintroduced in 3GPP WCDMA specification Release 5. HSDPA features a highspeed channel (HSC) controller that functions, e.g., as a high speedscheduler by multiplexing user information for transmission over theentire HS-DSCH bandwidth in time-multiplexed intervals (calledtransmission time intervals (TTI)). Since HSDPA uses code multiplexing,several users can be scheduled at the same time.

Concerning High Speed Downlink Packet Access (HSDPA) generally, see,e.g., 3GPP TS 25.435 V7.1.0 (2006-06-16), 3rd Generation PartnershipProject; Technical Specification Group Radio Access Network; UTRANI_(ub) Interface User Plane Protocols for Common Transport Channel DataStreams (Release 7), which discusses High Speed Downlink Packet Access(HSDPA) and which is incorporated herein by reference in its entirety.Also incorporated by reference herein as being produced by the forum andhaving some bearing on High Speed Downlink Packet Access (HSDPA) orconcepts described herein include: 3GPP TS 25.321 V7.1.0 (2006-06-23).3rd Generation Partnership Project; Technical Specification Group RadioAccess Network; Medium Access Control (MAC) protocol specification(Release 7); 3GPP TS 25.331 V7.1.0 (2006-06-23), 3rd GenerationPartnership Project; Technical Specification Group Radio Access Network;Radio Resource Control (RRC); Protocol Specification (Release 7); 3GPPTS 25.425 V7.1.0 (2006-06-16), 3rd Generation Partnership Project;Technical Specification Group Radio Access Network; UTRAN Iur interfaceuser plane protocols for Common Transport Channel data streams (Release7); and 3GPP TS 25.433 V7.1.0 (2006-06-20), 3rd Generation PartnershipProject; Technical Specification Group Radio Access Network; UTRAN Iubinterface Node B Application Part (NBAP) signaling (Release 7).

The High Speed Downlink Packet Access (HSDPA) was followed byintroduction of High Speed Uplink Packet Access (HSUPA) with itsEnhanced Dedicated Channel (E-DCH) in the uplink in 3GPP WCDMAspecification Release 6.

The new channels of HSDPA and HSUPA are designed to support IP-basedcommunication efficiently, providing enhanced end-user performance andincreased system capacity. Although originally designed for interactiveand background applications, they provide as good or even betterperformance for conversational services than the existing circuitswitched (CS) bearers.

The Third Generation Partnership Project (3GPP) documents specify thatan HS-DSCH allocation can have a maximum of fifteen (HS-PDSCH) codes,each of them with Spreading Factor (SF) 16. The transport channelHS-DSCH is mapped onto one or several physical channels (HS-PDSCHs),each using one SF-16 code. Similarly, a dedicated transport channel(DCH) is mapped onto a dedicated physical channel (DPCH) that uses acertain Spreading Factor in the range of SF256 to SF4. The code treecontains sixteen (16) SF-16 codes and thus, when the maximum of fifteenHS-PDSCH channels are allocated, only one SF-16 code remains for otherchannels. The SF-16 code allocated to the other channels may be furtherspread for individual channels.

There is thus a trade-off in the number of spreading codes that are madeavailable for HS-DSCH channels. For example, allocating a higher numberof codes for HS-DSCH channels results in fewer channels being availablefor allocations for dedicated transport channels (DCH). In other words,if there is a high DCH demand, allocating fewer codes for HS-DSCHchannels is beneficial from a service availability point of view. On theother hand, if there are a high number of users allocated to HSDPAtransmissions, it is preferable to allocate a high number of HS-PDSCHcodes, as this will provide high bit-rate connections and increasedend-user experience.

The controlling radio network controller (CRNC) has control over thecomplete code tree situation. Therefore, the CRNC provides theconfiguration of the HS-DSCH, that is, how many (SF-16) codes should beused. The CRNC controls this through the 3GPP-specified Node BApplication Part (NBAP) protocol over the I_(ub) interface, and theHS-DSCH is set up according to a configuration message sent to the NodeB (i.e., the base station node). The algorithm for making theallocations, however, is not standardized and different approaches maybe utilized.

As a first example conventional approach, the allocations may be made ina static manner in which a fixed number of codes are allocated for HSDPAtransmissions, and any change to the allocation requires areconfiguration by the system operator.

As another or second example conventional approach, the spreading codeallocations may also be made dynamically by the CRNC based, for example,on measurements in the Node B and the RNC.

As a third example approach, discretionary code allocation is performedby the NodeB which allocates and de-allocates additional codes forHS-DSCH in addition to the number of codes given from the RNC. Thisthird approach treats the HS-PDSCH codes allocated by the RNC as aminimum number of HS-PDSCH codes allocated to the NodeB, and allocatesand reallocates unused codes without communicating with the RNC. In thisthird approach, the HS-PDSCH codes are allocated consecutively from oneside of the code tree and therefore the RNC preferably allocates DCH'sfrom the opposite end of the code tree from the HS-PDSCH codes,essentially in the manner illustrated in FIG. 5.

Each of the example approaches discussed above has deficiencies. With afixed configuration of HS-PDSCH codes as in the first approach, atrade-off is necessary. The allocation of HS-PDSCH codes must be largeenough to handle arriving HS-DSCH traffic. On the other hand, theallocation must be small enough to prevent high DCH blocking. In afluctuating traffic environment, it is hard to optimally set how manycodes should be fixed for HS-PDSCH. In addition, any change to theallocation requires a manual reconfiguration by the system operator.

With a dynamic allocation of codes as in the second approach, the RNCoptimally needs information from the Node B regarding Node Bcapabilities and utilization of HS-PDSCH codes. Further, a dynamicallocation algorithm in the RNC must consider a number of criteria fromthe RNC such as the rate of DCH code blocking, and also a number ofcriteria from the Node B such as power availability. Moreover, if thealgorithm were to change the allocation of the number of HS-PDSCH codestoo frequently (for example, triggered on single events), the allocationand de-allocation may become too “bursty”, with excess signaling overthe I_(ub) interface. However, if the allocation rate is too low, theprocess experiences more of the problems associated with the fixed(first) approach. Therefore, the algorithm must also attempt to find anoptimum allocation rate. Thus, the problem quickly becomes very complex.

In the solution of discretionary code allocation of the third approach,in which the HS-PDSCH codes are allocated consecutively from one side ofthe code tree and

DCH codes are allocated from the opposite end of the code tree to theHS-PDSCH codes, it could happen that some DCH users can stop HS coderesource expansion even when some codes right to these DCH users arefree (assuming that the directionality of the code assignment is suchthat DCH codes are allocated from the right end of the code tree). Ofcourse the RNC may employ a reallocation strategy to activelyre-allocate users to increase the likelihood of having consecutive freecodes adjacent to the HS-PDSCH codes. However, it is costly from thesignaling overhead perspective between RNC and NodeB, and there is arisk of a DCH user being dropped.

What is needed, therefore, and an object of the present invention, areone or more of apparatus, methods, and techniques for efficiently andeffectively allocating spreading codes between HS-DSCH channels and DCHchannels of a radio access network.

BRIEF SUMMARY

In a radio access network comprising a radio network controller node anda base station node, a code tree has spreading codes which areallocatable between high speed downlink shared (HS-DSCH) channels anddedicated (DCH) channels. According to one aspect of the technology, useof the spreading codes of the code tree is monitored and an HS-DSCHchannel is allocated a free spreading code which is non-adjacent to aspreading code already allocated to the HS-DSCH channels.

According to an example method of the technology, an initial number ofspreading codes are allocated for use by the HS-DSCH channels. For aremaining number of spreading codes, the remaining spreading codes areallocated to HS-DSCH channels in a first direction across the code treeand in a second direction to DCH channels across the code tree. When itis determined that the code tree has a free spreading code which isnon-adjacent to a spreading code allocated to the HS-DSCH channels; thefree non-adjacent spreading code is allocated to an HS-DSCH channel.

In some example implementations, the free, non-adjacent spreading codeis allocated so that more than one high speed channel user can use thespreading codes. In other example implementations, the free,non-adjacent spreading code is allocated so that one user uses thespreading codes by using more than one HS-SCCH channel. Preferably thenon-adjacent spreading code is released from the HS-DSCH channel whenthe non-adjacent spreading code is needed for use by a DCH channel.

According to another aspect of the technology, a base station node of aradio access network maintains a code tree of spreading codes that areallocatable between high speed downlink shared (HS-DSCH) channels anddedicated (DCH) channels and monitors use of the spreading codes of thecode tree. The base station node is configured to allocate to an HS-DSCHchannel a free spreading code which is non-adjacent to a spreading codeallocated to the HS-DSCH channels. In one example implementation, tomake such allocation the base station node is configured to allocate thespreading codes to HS-DSCH channels in a first direction across the codetree; to allocate the spreading codes to DCH channels in a seconddirection across the code tree: to monitor use of the spreading codes ofthe code tree for determining free spreading codes which arenon-adjacent to a spreading code allocated to the HS-DSCH channels; andto allocate a free non-adjacent spreading code to an HS-DSCH channel.

The technology thus presents a solution in which additional free codes,not necessarily consecutive to the set of codes assigned by a radionetwork controller node, can be dynamically assigned to an HS-DSCHchannel by, e.g., a scheduler of a base station node (Node-B). Byinforming the scheduler of the additional free codes, the one or moreadditional, non-consecutive free codes can be used as HS codes.Furthermore, the additional, non-consecutive free codes may be allocatedto different HS users, or even to one HS user by using more than oneHS-SCCH. The scheduler allocates additional HS-PDSCH codes from theunused codes without having to communicate with radio network controllernode. When the additional HS-PDSCH codes are needed for DCH codes, thebase station node immediately releases these codes for the DCH purpose.

The code-tree allocation is continuously monitored and if there arecodes available for the HS-DSCH in addition to the codes allocated bythe radio network control, the scheduler is informed about these codes.The scheduling algorithm may then take this information into accountwhen deciding on whether or not to activate code multiplexing and/oradditional HS-SCCH. By using more than one HS-SCCH, all of the freecodes (e.g., of spreading factor 16), no matter they are adjacent ornot, can be used as HS codes. They can be used by either different HSusers or even one HS user in one transmission time interval (TTI).

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of theinvention will be apparent from the following more particulardescription of preferred embodiments as illustrated in the accompanyingdrawings in which reference characters refer to the same partsthroughout the various views. The drawings are not necessarily to scale,emphasis instead being placed upon illustrating the principles of theinvention.

FIG. 1 is a diagrammatic view of an example embodiment of a mobilecommunications system in which the present technology may beadvantageously employed.

FIG. 2 is a simplified function block diagram of a portion of a UMTSTerrestrial Radio Access Network, including portions of a user equipmentunit (UE) station; a radio network controller; and a base station.

FIG. 3A and FIG. 3B are diagrammatic view of code trees and codeassignment techniques according to two respective example embodiments.

FIG. 4 is a flow chart showing basic, representative acts performed inconjunction with a spreading code allocation technique according to anexample mode.

FIG. 5 is a diagrammatic view of a code tree and a code assignmenttechnique according to a comparative embodiment.

DETAILED DESCRIPTION

In the following description, for purposes of explanation and notlimitation, specific details are set forth such as particulararchitectures, interfaces, techniques, etc.

in order to provide a thorough understanding of the present invention.However, it will be apparent to those skilled in the art that thepresent invention may be practiced in other embodiments that depart fromthese specific details. That is, those skilled in the art will be ableto devise various arrangements which, although not explicitly describedor shown herein, embody the principles of the invention and are includedwithin its spirit and scope. In some instances, detailed descriptions ofwell-known devices, circuits, and methods are omitted so as not toobscure the description of the present invention with unnecessarydetail. All statements herein reciting principles, aspects, andembodiments of the invention, as well as specific examples thereof, areintended to encompass both structural and functional equivalentsthereof. Additionally, it is intended that such equivalents include bothcurrently known equivalents as well as equivalents developed in thefuture, i.e., any elements developed that perform the same function,regardless of structure.

Thus, for example, it will be appreciated by those skilled in the artthat block diagrams herein can represent conceptual views ofillustrative circuitry embodying the principles of the technology.Similarly, it will be appreciated that any flow charts, state transitiondiagrams, pseudocode, and the like represent various processes which maybe substantially represented in computer readable medium and so executedby a computer or processor, whether or not such computer or processor isexplicitly shown.

The functions of the various elements including functional blockslabeled as “processors” or “controllers” may be provided through the useof dedicated hardware as well as hardware capable of executing softwarein association with appropriate software. When provided by a processor,the functions may be provided by a single dedicated processor, by asingle shared processor, or by a plurality of individual processors,some of which may be shared or distributed. Moreover, explicit use ofthe term “processor” or “controller” should not be construed to referexclusively to hardware capable of executing software, and may include,without limitation, digital signal processor (DSP) hardware, read onlymemory (ROM) for storing software, random access memory (RAM), andnon-volatile storage.

The present technology is described in the non-limiting, example contextof a telecommunications system 10 shown in FIG. 1. In the FIG. 1example, a radio access network 20 is connected to one or more core(external networks) 22. The core networks 22 can include, for example,connection-oriented networks such as the Public Switched TelephoneNetwork (PSTN) and/or the Integrated Services Digital Network (ISDN)and/or connectionless-oriented external core network such as (forexample) the Internet.

In the particular, non-limiting example shown in FIG. 1, the radioaccess network (RAN) 20 is a UMTS Terrestrial Radio Access Network(UTRAN) and the interface with the external network is over the 1uinterface. The radio access network (RAN) 20 includes one or more radionetwork controllers (RNCs) 26, e.g., radio network control nodes, andone or more radio base stations (RBS) 28. For sake of simplicity, theradio access network (RAN) 20 of FIG. 1 is shown with only two RNCnodes, particularly RNC 26 ₁ and RNC 26 ₂. Each RNC 26 is connected toone or more base stations (BS) 28. For example, and again for sake ofsimplicity, two base station nodes are shown connected to each RNC 26.In this regard. RNC 26 ₁ serves base station 28 ₁₋₁ and base station 28₁₋₂, while RNC 26 ₂ serves base station 28 ₂₋₁ and base station 28 ₂₋₂.It will be appreciated that a different number of base stations can beserved by each RNC, and that RNCs need not serve the same number of basestations. Moreover. FIG. 1 shows that an RNC can be connected over anIur interface to one or more other RNCs in the UTRAN 24. Further, thoseskilled in the art will also appreciate that a base station is sometimesalso referred to in the art as a radio base station, a node B, orB-node.

In the illustrated embodiments, for sake of simplicity each base station28 is shown as serving one cell. It will be appreciated by those skilledin the art, however, that a base station may serve for communicatingacross the air interface for more than one cell. For example, two cellsmay utilize resources situated at the same base station site. Moreover,each cell may be divided into one or more sectors, with each sectorhaving one or more cell/carriers.

For sake of simplification, the cell of base station 28 ₁₋₂ is depictedas a semicircle. Several mobile terminals (MT) 30 are shown as currentlybeing served by the cell of radio base station (RBS) 28 ₁₋₂. The mobileterminals (MT) 30 communicate with one or more cells or one or more basestations (BS) 28 over a radio or air interface 32. In differingimplementations, the mobile terminals (MT) 30 can be known by differentnames, such as wireless terminal, mobile station (MS) or MS, userequipment unit (UE), handset, or remote unit, for example. Each mobileterminal (MT) may be any of myriad devices or appliances, such as mobilephones, mobile laptops, pagers, personal digital assistants or othercomparable mobile devices, SIP phones, stationary computers and laptopsequipped with a real-time application, such as Microsoft netmeeting.Push-to-talk client etc. Preferably, at least for a UTRAN implementationof the radio access network (RAN) 20, radio access is based uponWideband, Code Division Multiple Access (WCDMA) with individual radiochannels allocated using WCDMA spreading codes. Of course, other accessmethods may be employed.

Different types of channels may exist between one of the base stations28 and mobile terminals (MT) 30 for transport of control and user dataacross a radio or air interface 32. For example, in the forward ordownlink direction, there are several types of broadcast channels andone or more control channels. While such broadcast channels and controlchannels are not shown in FIG. 1, FIG. 1 does illustrate in simplifiedform the existence of one or more common traffic channels (CCH),dedicated transport channels (DCH), and a high-speed shared channel(s)(HS-channel) which now is of particular interest. The high-speed sharedchannel(s) (HS-channel) may be a high-speed downlink shared channel(HS-DSCH) or a high-speed shared control channel (HS-SCCH). Thehigh-speed downlink shared channel (HS-DSCH) and the high-speed sharedcontrol channel (HS-SCCH) are separate channels. As understood by thoseskilled in the art, the signaling carried by the high-speed sharedcontrol channel (HS-SCCH) is performed by transmitting the HS-SCCH TTItwo slots in advance of the corresponding HS-DSCH TTI.

The control node 26 configures the cell to support HSDPA. Thereafter itis up to the radio base station 28 to perform other activities, such as(for example) to allocate power and the amount of codes needed atrespective TTI transmissions. As shown in FIG. 1, control node 26comprises an HSDPA controller 40 which, among other things, governsallocation and utilization of the high-speed downlink shared channel(HS-DSCH). An RNC code allocation unit 42, which can be situated in orcomprise HSDPA controller 40 in the manner shown in FIG. 1 or which canbe separate from HSDPA controller 40, maintains a code tree of spreadingcodes that are allocatable between high speed downlink shared (HS-DSCH)channels and dedicated (DCH) channels, and allocates an initial numberof spreading codes for use by the HS-DSCH channels. The initialspreading code allocation of spreading codes for use by the HS-DSCHchannels is communicated from controller node 26 to the base stationnode 28 through a NBAP signal handler 48 which comprises the controlnode 26. The HSDPA controller 40 and RNC code allocation unit 42, aswell as NBAP signal handler 48, may be included with or separate from anode controller or processor the like which bears responsibility foroverall node operation/coordination of control node 26. The personskilled in the art understands that control node 26 typically alsoincludes other entities and functionalities, such as (for example) ahandover unit, combiners and splitters for diversity purposes, and soforth.

FIG. 1 further shows that, among its various other constituent units andfunctionalities, radio base station (BS) 28 comprises an HSDPAcontroller 60, a spreading code scheduler 62; one or more transceiver(TX) 66; and a NBAP signal handler 68. The person skilled in the artwill appreciate that base station node 28 typically also includes otherentities and functionalities, such as (for example) an HSDPA flowcontroller, priority queues, various interfaces, and so forth.

FIG. 2 shows selected general aspects of mobile terminal (MT) 30 andillustrative nodes such as radio network controller 26 and base station28. The user equipment unit (UE) 30 shown in FIG. 2 includes a dataprocessing and control unit 74 for controlling various operationsrequired by the user equipment unit (UE). The UE's data processing andcontrol unit 74 provides control signals as well as data to a radiotransceiver 76 connected to an antenna 78.

The example radio network controller 26 and base station 28 as shown inFIG. 2 are radio network nodes that each include a corresponding dataprocessing and control unit 80 and 82, respectively, for performingnumerous radio and data processing operations required to conductcommunications between the RNC 26 and the user equipment units (UEs) 30.Part of the equipment controlled by the base station data processing andcontrol unit 80 includes plural radio transceivers 86 connected to oneor more antennas 88.

Thus, as generic represented in example fashion in FIG. 1 the HSDPAcontroller 40 and HSDPA controller 60, as well as RNC code allocationunit 42 and spreading code scheduler 62, may be implemented usingindividual hardware circuits, using software programs and data inconjunction with one or more suitably programmed digital(micro)processors or general purpose computers, using applicationspecific circuitry (ASIC), and/or using one or more digital signalprocessors (DSPs) or controllers, given the meaning of these several ofthese terms as broadly discussed above.

In operation, the RNC code allocation unit 42 of control node 26allocates a fixed number of HS-PDSCH codes to the NodeB (e.g., to radiobase station (BS) 28) or dynamically allocates the number of HS-PDSCHcodes and communicates this to the NodeB through NBAP, e.g., through theNBAP signal handlers 48 and 58.

The spreading code scheduler 62 of base station node 28 also maintainsthe code tree of spreading codes that are allocatable between high speeddownlink shared (HS-DSCH) channels and dedicated (DCH) channels, andmonitors use of the spreading codes of the code tree. As explained inmore detail below, the base station node is configured to allocate to anHS-DSCH channel a free spreading code which is non-adjacent to aspreading code allocated to the HS-DSCH channels.

In the above regard, spreading code scheduler 62 of base station node 28(Node B) treats the RNC's allocation as the minimum allocation ofHS-PDSCH codes. In its allocation of codes, spreading code scheduler 62preferably follows the principle that the HS-PDSCH codes are allocatedfrom the left side to the right side of the code tree (e.g., in a firstdirection), while DCH codes are allocated from the right side to theleft side of the code tree (e.g., in a second direction). As usedherein, the phrase “first direction” can mean either (1) from the leftside to the right side of the code tree, or (2) from the right side tothe left side of the code tree, it being understood that the phrase“second direction” thus implies the opposite directionality. For sake ofillustration, the ensuing examples assume the first direction to meanfrom the left side to the right side of the code tree.

To reduce the fraction of code tree, the sub code tree of SF16 for DCHusers should be filled as much as possible. Such allocation strategy canbe useful to get more consecutive HS-PDSCH codes that are needed forusers, e.g., to download large files.

The code tree allocation is continuously monitored by base station node28 and if there are additional free codes that are not adjacent toHS-PDSCH codes, the spreading code scheduler 62 of the NodeB isinformed. A scheduling algorithm of spreading code scheduler 62 may usethis information as input to decide on how many users to schedule and/orhow many HS-SCCH channels should be used. For example the schedulingalgorithm may decide on scheduling additional users to make use of thenon-adjacent codes (code multiplexing) in case there are any available.FIG. 3A illustrates how the NodeB scheduling algorithm of spreading codescheduler 62 may use the information of additional non-adjacent codes toallocate the code tree shared by HS users and DCH users. Different fromthat shown in FIG. 5, the codes may be well utilized by the DCH usersand HS users.

A code multiplexing functionality of spreading code scheduler 62 makesit possible to send user data to more than one user in a single TTI. Bymonitoring the code usage, the scheduling algorithm of spreading codescheduler 62 can decide when to activate the code multiplexingfunctionality in order not to waste the code resource. FIG. 3A shows acode multiplexing case where the non-adjacent codes are allocated todifferent HS users. The code multiplexing functionality requires that aseparate HS-SCCH be available for each user sharing code resources in asingle TTI. The availability of non-adjacent code can be one factor todecide whether to invoke this code multiplexing. This can speed up thescheduler process to some extent since the scheduler does not have toexecute some unnecessary actions if the code multiplexing functionalityis not invoked.

These codes are not necessarily allocated to different users even ifthey are not adjacent. The codes may also be allocated only to one HSuser by using more than one HS-SCHH, as illustrated in FIG. 3B. In FIG.3B, the free, non-adjacent spreading code is allocated so that one useruses the spreading codes by using more than one HS-SCCH channel.

According to 3GPP specifications, a mobile terminal 30 must be able todecode four HS-SCCHs in parallel, which means there is a possibility touse up to four HS-SCCHs to one HS user. The mobile terminal 30 needs todecode the data carried over HS-PDSCH data in parallel according to theinformation carried on the HS-SCCHs.

If the base station node 28 (NodeB) receives a request for an additionalDCH from the RNC, the base station node 28 can immediately reduce theallocation of HS-PDSCH codes until back to the minimum HS-PDSCH codes.Preferably, those codes not closing to the left end of the code treeshould be released first, which results in the consecutive codes forHS-PDSCH as many as possible.

FIG. 4 illustrates selected example, basic steps, events, or actions(acts) involved in an example mode of spreading code allocation. Theacts of FIG. 4 happen to be generic to the code allocation techniques ofFIG. 3A and FIG. 3B. FIG. 4 shows act 4-1 as being preformed by RNC codeallocation unit 42 (and accordingly in represented by broken lines).Other acts shown in FIG. 4 are performed by base station node 28, andinclude acts performed, e.g., by spreading code scheduler 62.

Act 4-1 depicts the fact that an initial number of spreading codesare/have been allocated (e.g., by RNC code allocation unit 42) for useby the HS-DSCH channels. Act 4-2 generally depicts the supervision andmonitoring by base station node 28 of the code tree as well as trafficdemand for spreading codes. As shown by act 4-2A, for the remainingnumber of spreading codes (the spreading codes not initially allocated),the remaining spreading codes are allocated to HS-DSCH channels in afirst direction across the code tree and in a second direction to DCHchannels across the code tree. Thus, as depicted by act 4-2A, spreadingcode scheduler 62 allocates the remaining spreading codes to HS-DSCHchannels or to DCH channels as needed in accordance with suchdirectionality.

In conjunction with the monitoring of act 4-2, it is determined as act4-2B whether the code tree has a free spreading code which isnon-adjacent to a spreading code allocated to the IS-DSCH channels. Ifthe determination of act 4-2B is affirmative (e.g., if the code treedoes have a free spreading code which is non-adjacent to a spreadingcode allocated to the HS-DSCH channels), as act 4-3 the spreading codescheduler 62 allocates the free non-adjacent spreading code to anHS-DSCH channel.

Also in conjunction with the monitoring of act 4-2, as act 4-2C adetermination is made whether the non-adjacent spreading code is neededfor use by a DCH channel. If the determination of act 4-2C isaffirmative (e.g., if a non-adjacent spreading code is needed for use bya DCH channel), as act 4-4 the spreading code scheduler 62 releases thenon-adjacent spreading code from the HS-DSCH channel.

As explained above, the scheduling algorithm of spreading code scheduler62 can (by monitoring the code usage) decide when to activate the codemultiplexing functionality, e.g., whether to send user data to more thanone user in a single TTI. Act 4-2D of FIG. 4 illustrates the schedulingalgorithm of spreading code scheduler 62 making a decision whether toactivate the code multiplexing functionality. If the code multiplexingfunctionality, then (in the example manner illustrated by FIG. 3A) thefree, non-adjacent spreading code is allocated so that more than onehigh speed channel user can use the spreading codes. If thedetermination at act 4-2D is to not activate the code multiplexingfunctionality, then it is possible to have a situation as thatrepresented by FIG. 3B wherein the free, non-adjacent spreading code isallocated so that one user uses the spreading codes by using more thanone HS-SCCH channel.

The technology described herein offers many advantages. For example, thetechnology renders more HS codes available, resulting in higherthroughput and less delay. More GBR users, especially those with lowrate (e.g. VoIP), might be supported as they normally need not so manycodes. Moreover, the utilization of whole code tree is improved.Further, the technology requires no significant change in the 3GPPspecs.

Although various embodiments have been shown and described in detail,the claims are not limited to any particular embodiment or example. Noneof the above description should be read as implying that any particularelement, step, range, or function is essential such that it must beincluded in the claims scope. The scope of patented subject matter isdefined only by the claims. The extent of legal protection is defined bythe words recited in the allowed claims and their equivalents. It is tobe understood that the invention is not to be limited to the disclosedembodiment, but on the contrary, is intended to cover variousmodifications and equivalent arrangements.

The invention claimed is:
 1. A method of operating a radio accessnetwork comprising a radio network controller node and a base stationnode, the method comprising: maintaining a code tree of spreading codesthat are allocatable between high speed downlink shared channels(HS-DSCH) and dedicated channels (DCH); allocating an initial number ofspreading codes for use by the HS-DSCH channels and, for a remainingnumber of spreading codes: allocating the spreading codes to HS-DSCHchannels in a first direction across the code tree; allocating thespreading codes to DCH channels in a second direction across the codetree; monitoring use of the spreading codes of the code tree fordetermining free spreading codes which are non-adjacent to a spreadingcode allocated to the HS-DSCH channels; and allocating a freenon-adjacent spreading code to an HS-DSCH channel.
 2. The method ofclaim 1, further comprising: determining whether or not to activate acode multiplexing functionality, where the code multiplexingfunctionality facilitates allocating the free, non-adjacent spreadingcode so that more than one high speed channel user can use the spreadingcodes.
 3. The method of claim 2, where the determining whether or not toactivate the code multiplexing functionality comprises monitoring codeusage.
 4. The method of claim 1, where the free, nonadjacent spreadingcode is allocated so that more than one high speed channel user can usethe spreading codes.
 5. The method of claim 1, where the free,nonadjacent spreading code is allocated so that one user uses thespreading codes by using more than one HS-DSCH channel.
 6. The method ofclaim 1, further comprising: releasing the nonadjacent spreading codefrom the HS-DSCH channel when the non-adjacent spreading code is neededfor use by a DCH channel.
 7. A base station node of a radio accessnetwork which maintains a code tree of spreading codes that areallocatable between high speed downlink shared channels (HS-DSCH) anddedicated channels (DCH) and monitors use of the spreading codes of thecode tree, wherein the base station node comprises: a data processingand control unit configured to allocate an initial number of spreadingcodes for use by the HS-DSCH channels and, for a remaining number ofspreading codes, the data processing and control unit is furtherconfigured to: allocate the spreading codes to HS-DSCH channels in afirst direction across the code tree; allocate the spreading codes toDCH channels in a second direction across the code tree; monitor use ofthe spreading codes of the code tree for determining free spreadingcodes which are non-adjacent to a spreading code allocated to theHS-DSCH channels; and allocate a free non-adjacent spreading code to anHS-DSCH channel.
 8. The base station node of claim 7, where the dataprocessing and control unit is further configured to determine whetheror not to activate a code multiplexing functionality, the codemultiplexing functionality facilitating allocating the free,non-adjacent spreading code so that more than one high speed channeluser can use the spreading codes.
 9. The base station node of claim 8,where the data processing and control unit is further configured todetermine whether or not to activate a code multiplexing functionalityby monitoring code usage.
 10. The base station node of claim 7, wherethe data processing and control unit is further configured to allocatethe free, non-adjacent spreading code so that more than one high speedchannel user can use the spreading codes.
 11. The base station node ofclaim 7, where the data processing and control unit is furtherconfigured to allocate the free, non-adjacent spreading code so that oneuser uses the spreading codes by using more than one HS-DSCH channel.12. The base station node of claim 7, where the data processing andcontrol unit is further configured to release the non-adjacent spreadingcode from the HS-DSCH channel when the non-adjacent spreading code isneeded for use by a DCH channel.